การทำงานของ MPLS ของ เอ็มพีแอลเอส

MPLS Label Structure

MPLS ทำงานโดยการเติมหัวแพ็คเกตให้เป็นส่วนหัวของ MPLS, ประกอบด้วยป้ายเดียวหรือหลายป้ายเรียกว่า label stack. แต่ละรายการของ label stack ประกอบด้วยฟิลด์สี่ฟิลด์ ได้แก่:

  1. 20 บิต จำนวนบิตรวมของป้าย
  2. 3 บิตฟิลด์คลาสการจราจรสำหรับ QoS (quality of service) (คุณภาพการบริการ), ลำดับความสำคัญ (ทดลอง) และ ECN (Explicit Congestion Notification)(ประกาศความหนาแน่นชัดเจน)
  3. 1 บิตธงสแต็คด้านล่าง ถ้าตั้งค่านี้หมายความว่าป้ายนี้เป็นป้ายสุดท้ายในสแต็ค
  4. 8 บิตฟิลด์ TTL (time to live)(เวลาที่จะมีชีวิตอยู่)

แพ็คเก็ตที่ติดป้าย MPLS เหล่านี้จะถูกเปลี่ยนหลังจาก lookup/สวิตช์แทนที่จะ lookup ในตาราง IP. ดังที่ได้กล่าวข้างต้น เมื่อรับรู้ว่าเป็น MPLS การ lookup และการสวิตช์ป้ายจะเร็วกว่าการ lookup ในตารางเส้นทางหรือ Routing Information Base, RIB (ฐานข้อมูลเส้นทาง) เพราะการทำงานเหล่านี้จะเกิดขึ้นโดยตรงภายในสวิตช์เนทเวิร์คไม่ใช่ใน CPU

เราต์เตอร์ที่ทำงานตามข้อความในป้ายเท่านั้นเรียกว่า label switch router (LSR), จุดเข้าและออกจากเครือข่าย MPLS จะเรียกว่า label edge router (LER) ซึ่งจะใส่ป้าย MPLS บนแพ็คเกตที่กำลังเข้ามา และถอดป้ายออกจากแพ็กเกตที่กำลังวิ่งออกไป อีกทางเลือกหนึ่ง, ฟังก์ชั่นนี้อาจจะดำเนินการโดย LSR ที่เชื่อมต่อโดยตรงกับ LER ก็ได้

ป้ายจะถูกแจกจ่ายระหว่าง LERs และ LSRs โดยการใช้ Label Distribution Protocol (LDP). LSRs ในเครือข่าย MPLS แลกเปลี่ยนป้ายและข้อมูลเกี่ยวกับความสามารถในการเข้าถึงของกันและกันอย่างสม่ำเสมอโดยการใช้แนวทางปฏิบัติที่เป็นมาตรฐานเพื่อที่จะสร้างภาพที่สมบูรณ์ของเครือข่ายที่สามารถใช้เพื่อส่งต่อแพ็กเกต เส้นทางแลกเปลี่ยนป้าย หรือ Label-switched paths (LSPs) ถูกจัดทำขึ้นโดยเนทเวิร์คโอปะเรเตอร์เพื่อวัตถุประสงค์หลากหลาย เช่นเพื่อสร้างเครือข่ายที่ใช้ IP เครือข่ายส่วนตัวเสมือนหรือเพื่อส่งข้อมูลไปตามเส้นทางการจราจรที่ระบุไว้ในเครือข่าย ในหลาย ๆ ประเด็น LSPs ไม่ได้แตกต่างไปจาก permanent virtual circuits (PVCs) ใน เครือข่าย ATM หรือ Frame Relay, ยกเว้นว่าพวกมันไม่ได้ขึ้นอยู่กับเทคโนโลยีชั้น 2 เท่านั้น

ในบริบทที่เฉพาะเจาะจงของเครือข่ายส่วนตัวเสมือนบน MPLS (VPN MPLS), LERs ที่ทำหน้าที่เป็นเราต์เตอร์ขาเข้าและ/หรือขาออกของ VPN มักจะเรียกว่า PE เราต์เตอร์ (Provider Edge). เราต์เตอร์ที่ทำงานเพียงแค่ส่งจะถูกเรียกในทำนองเดียวกันว่า P เราต์เตอร์ (Provider Router). การทำงานของ P เราต์เตอร์ ง่ายกว่า PE เราต์เตอร์ ดังนั้น P เราต์เตอร์ จึงซับซ้อนน้อยกว่าและอาจจะเชื่อถือได้มากกว่า

เมื่อแพ็กเกตที่ไม่มีป้ายกำกับเข้าไปในเราต์เตอร์และต้องการผ่านไปยังอุโมงค์ MPLS. เราต์เตอร์จะทำสิ่งแรกคือกำหนดสมดุลระดับการส่งต่อ (forwarding equivalence class, FEC) ของแพ็กเก็ตว่าควรจะอยู่ในระดับไหน จากนั้นก็แทรกป้ายหนึ่งหรือมากกว่าหนึ่งป้ายในแพ็คเก็ตในส่วนหัวของ MPLS ที่สร้างขึ้นใหม่. แพ็กเกตจะถูกส่งผ่านไปยังเราต์เตอร์ hop ถัดไปสำหรับอุโมงค์นี้

เมื่อแพ็กเกตที่มีป้ายเข้ามาที่เราเตอร์ MPLS, ป้ายบนสุดจะถูกตรวจสอบ. ขึ้นอยู่กับเนื้อหาของป้ายว่าจะให้ swap, push (กำหนด) หรือป๊อปอัพ (ทิ้ง) ที่จะต้องทำในกองป้ายของแพ็กเกต เราเตอร์จะมีตารางการค้นหาที่สร้างไว้ล่วงหน้าที่บอกชนิดของการดำเนินงานที่ต้องทำเพื่อให้สามารถดำเนินการกับแพ็คเก็ตได้อย่างรวดเร็ว

  • ในการ swap ป้ายจะสลับกับป้ายใหม่และแพ็คเก็ตจะถูกส่งไปตามเส้นทางที่บอกไว้ในป้ายใหม่
  • ในการ push ป้ายใหม่จะถูกผลักให้อยู่ด้านบนของกองป้าย จากนั้นทำการ "encapsulate" (จับใส่ในแคปซูล)แพ็กเกตอย่างดีในชั้นอี่นของ MPLS วิธีการนี้จะช่วยในการกำหนดเส้นทางลำดับชั้นของ MPLS แพ็คเก็ต. พึงสังเกตว่าวิธีการนี้ถูกใช้โดย MPLS VPNs
  • ในการ pop ป้ายจะถูกลบออกจากแพ็กเกตซึ่งอาจเผยให้เห็นป้ายด้านล่าง กระบวนการนี้้เรียกว่า "decapsulation" ถ้าป้ายที่ถูกตัดออกเป็นตัวสุดท้ายในกองป้าย แพ็กเกตจะ "ออก" จากอุโมงค์ MPLS. การดำเนินงานนี้มักจะทำโดยเราต์เตอร์ขาออก, ดู Penultimate Hop Popping (PHP) (การตัดทิ้งในขั้นตอนก่อนสุดท้าย)ด้านล่าง

ในระหว่างการดำเนินงานเหล่านี้, เนื้อหาของแพ็คเก็ตในกองป้ายด้านล่างของ MPLS จะไม่ได้รับการตรวจสอบ อันที่จริงเราต์เตอร์การขนส่งมักต้องการตรวจสอบป้ายบนสุดในกองเท่านั้น การส่งต่อแพ็คเก็ตจะถูกดำเนินการขึ้นอยู่กับเนื้อหาในป้าย ซึ่งจะช่วยให้ "การส่งต่อแพ็คเก็ตแบบโปรโตคอลอิสระ" ไม่จำเป็นต้องไปดูตารางเส้นทางแบบที่ขึ้นอยู่กับโปรโตคอล และหลีกเลี่ยงการเข้าคู่กัน(matching)ของคำนำหน้า IP ที่ยาวที่สุดและมีราคาแพงในแต่ละ hop

ที่เราเตอร์ขาออก เมื่อป้ายสุดท้ายถูกตัดทิ้งไปแล้ว มีเพียง payload เท่านั้นที่ยังเหลืออยู่ payload นี้อาจเป็นแพ็กเกต IP หรือตัวเลขใด ๆ ชนิดอื่นของ payload packet เพราะฉะนั้น เราเตอร์ขาออกจึงต้องมี routing information สำหรับ payload ของแพ็คเกต เนื่องจากมันต้องส่งต่อไปโดยไม่มีความช่วยเหลือจากตารางค้นหาเส้นทางอีกต่อไป เราต์เตอร์ขนส่งไม่ต้องการคุณสมบัติดังกล่าว

ในกรณีพิเศษ ป้ายสุดท้ายยังสามารถถูกตัดออกใน hop ก่อนสุดท้าย (hop ก่อนถึงเราต์เตอร์ขาออก) เรียกว่า การตัดออกก่อน hop สุดท้าย หรือ penultimate hop popping (PHP) นี่อาจจะเป็นที่น่าสนใจในกรณีที่เราต์เตอร์ขาออกมีแพ็กเกตจำนวนมากออกจากอุโมงค์ MPLS และใช้เวลาของ CPU มากเกินไป. โดยใช้ PHP, เราต์เตอร์การขนส่ง, ที่เชื่อมต่อโดยตรงกับเราต์เตอร์ขาออก ,ทำการ offload มันโดยลบป้ายสุดท้ายทิ้งเสียเอง

MPLS สามารถใช้ประโยชน์จากโครงสร้างพื้นฐานที่มีอยู่ของ ATM หรือ Frame Relay โดยที่กระแสข้อมูลที่มีป้ายสามารถถูกแมปไปยัง virtual-circuit identifiers ของ ATM หรือ Frame Relay และทำได้ในทางกลับกัน